package com.mashibing.api.form;

import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author SNA
 * @date 2025/5/7
 * @Description
 **/
@Data
public class SingleSendForm {

    /*@NotBlank：如果字段 apikey 的值为：null、空字符串""、或者只包含空格、制表符等空白字符（如 " "），
      则会抛出校验异常，并返回提示信息："apikey不能为空"。*/
    // 客户的apikey
    @NotBlank(message = "apikey不能为空")
    private String apikey;

    // 手机号
    @NotBlank(message = "手机号不能为空")
    private String mobile;

    // 短信内容
    @NotBlank(message = "短信内容不能为空")
    private String text;

    // 客户业务内的uid
    private String uid;

    /*@Range 是 Hibernate Validator 提供的一个注解，用于限制字段的取值范围。它通常用于数值型字段（如 Integer, Long,
    Double 等），确保其值在指定的最小值和最大值之间。
    如果字段 state 的值：小于0 或大于2 或者为 null，则会抛出校验异常，并返回提示信息："短信内容只能是0~2的整数！"
     */
    // 0-验证码短信 1-通知类短信 2-营销类短信
    @Range(min = 0, max = 2, message = "短信内容只能是0~2的整数！")
    @NotNull(message = "短信类型不能为空！")
    private Integer state;
}
